perm filename TRY[MUS,LCS] blob sn#319850 filedate 1977-12-06 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00023 ENDMK
C⊗;

      EXTERNAL FUNCTION GETINF(ARRAY J,INSR,INBT,INCH,INMX,INDR),
      RDSMPL(ARRAY N,BITS);
 
      ARRAY INF(1536);
      VARIABLE /CNT,/RD,/SCNT,INCH,INSR,INMX,INDR,INBT,INBUF,
      IX,/INC,RX,JZ,IZ;

      FUNCTION PRNTIT(CNT,INBT,INDR,INBUF);  
      BEGIN 
        INBUF←1535-512*INBT ;     
        PRINT "SRATE=",INSR," BITS=",12+INBT*6," NCHNS=",INCH,
        " MAXAMP=",INMX," DUR=",INDR/INSR/INCH;
            INDR←INDR-2;
      END;

      FUNCTION READIN(RD);
      BEGIN 		<DON'T FORGET TO INIT AND SCNT ← 0;
        IF SCNT=0 THEN BEGIN        
          GETINF(INF,INSR,INBT,INCH,INMX,INDR); <HEADER IS READ INTO ARRAY INF.
          PRNTIT(CNT,INBT,INDR,INBUF);
           RDSMPL(INF,INBT);
     	   CNT←0;  JZ←0; RX←INF(0);
        END;
        SCNT←SCNT+INC; 
        IF SCNT > P6 THEN INC←INC+P5;<******SPECIAL FEATURE***************

        IF SCNT > INDR THEN  BEGIN <CHECK TO SEE IF SMPL CNT IS EXCEEDED
           RD←0;  RETURN(RD); END;
         IX ← INF(JZ);
         IZ←1-INT(JZ)+CNT;
            RD←RX+(IX-RX)*IZ;   < INTERPOLATION
        CNT←CNT+INC; <UPDATE THE COUNTER

        IF CNT < INBUF THEN RX←INF(CNT);
	JZ←CNT+1; 

        IF JZ ≥ INBUF THEN BEGIN
           RDSMPL(INF,INBT);
           JZ←JZ-INBUF;  
	   CNT←JZ-1;
	   IF CNT ≥ 0 THEN RX←INF(CNT);
       	    END;
        RETURN(RD); 
     END; 

	INC←1;
      INSTRUMENT READA;
      OUTA←OUTA+P4*READIN(RD);
      END;
      
      PLAY;
      READA   0  .37  0  1.3  .00025  1920;
      SCNT←0; INFILE←"TO"; 
      FINISH;